package App.modele;

import App.widoki.WidokWczytajTransport;
import java.io.File;
import skladowisko.transport.TransportPrzychodzacy;
import skladowisko.utils.ITransportCreator;
import skladowisko.utils.TransportPCreator;
import skladowisko.utils.XStreamTerminalCreator;

/**
 *
 * @author Krzysiek
 */
public class ModelWczytajTransport
{
    private WidokWczytajTransport obserwator;

    private String sciezkaDoPliku = null;

    private TransportPrzychodzacy transport = null;

    public ModelWczytajTransport(WidokWczytajTransport obserwator)
    {
        this.obserwator = obserwator;
    }

    public ModelWczytajTransport()
    {
        
    }

    public void setObserwator(WidokWczytajTransport obserwator)
    {
        this.obserwator = obserwator;
    }

    public boolean wczytajTransport() throws Exception
    {
        ITransportCreator kreator;

        File plik = new File(sciezkaDoPliku);
        if(plik != null)
        {
             if(sciezkaDoPliku.endsWith(".xls") || sciezkaDoPliku.endsWith(".xlsx"))
             {
                 kreator = new TransportPCreator();
             }
             kreator = new XStreamTerminalCreator();

             transport = (TransportPrzychodzacy)kreator.wczytajTransport(plik.getAbsolutePath());
             obserwator.dodajHistorieWczytywania(transport.pokazSzczegoly());
             return true;
        }

        return false;
    }

    /**
     * @return the sciezkaDoPliku
     */
    public String getSciezkaDoPliku()
    {
        return sciezkaDoPliku;
    }

    /**
     * @return the Transport
     */
    public TransportPrzychodzacy getTransport()
    {
        return transport;
    }


    public void ustawSciezke(String absolutePath)
    {
        this.sciezkaDoPliku = absolutePath;
    }




}
